www.gusucode.com > C++ 屏幕录像简单演示 > C++ 屏幕录像简单演示/code/AVI.cpp
//Download By Http://www.newxing.com #include "stdafx.h" #include "AviFile.h" CAviFile avi("Output.Avi", mmioFOURCC('M','S','V','C'), 5); HBITMAP Screen(); void main() { for (int i=0;i<10;i++) //演示录制10帧 { avi.AppendNewFrame(Screen()); //捕捉当前屏幕并插入AVI文件中。 Sleep(500); } } //抓取当前屏幕函数 HBITMAP Screen(){ HDC hScreen = CreateDC("DISPLAY", NULL, NULL, NULL); HDC hCompDC = CreateCompatibleDC(hScreen); int nWidth = GetSystemMetrics(SM_CXSCREEN); int nHeight = GetSystemMetrics(SM_CYSCREEN); HBITMAP hBmp = CreateCompatibleBitmap(hScreen, nWidth, nHeight); HBITMAP hOld = (HBITMAP)SelectObject(hCompDC, hBmp); BitBlt(hCompDC, 0, 0, nWidth, nHeight, hScreen, 0, 0, SRCCOPY); SelectObject(hCompDC, hOld); DeleteDC(hScreen); DeleteDC(hCompDC); return hBmp; }